home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earkit / news / thor / rexx / bbsread / checkuserdatabase.br < prev    next >
Text File  |  1998-05-24  |  2KB  |  91 lines

  1. /*
  2.  * $VER: CheckUserDataBase.br 1.0 (27.4.97)
  3.  *
  4.  * Script by: Eivind Nordseth, Ultima Thule Software.
  5.  */
  6.  
  7. /*    trace results */
  8.  
  9.     parse arg argument
  10.  
  11.     template = 'BBSNAME/A,DELETE/S'
  12.  
  13.     if (argument = '' | argument = '?') then 
  14.     do
  15.         say '$VER: CheckUserDataBase 4.1 (8.8.95)'
  16.         say 'Checks the the users in one or ALL BBSes. If the DELETE switch is used will '
  17.         say 'all users which are impossible to read be marked as deleted.'
  18.         say 'Template:' template
  19.         exit
  20.     end
  21.  
  22.     if ~show('p', 'BBSREAD') then do
  23.         address command
  24.             "run >nil: `GetEnv THOR/THORPath`bin/LoadBBSRead"
  25.             "WaitForPort BBSREAD"
  26.     end
  27.  
  28.     address BBSREAD
  29.  
  30.     READARGS template ARGS CMDLINE argument
  31.     if(rc ~= 0) then 
  32.     do
  33.         say BBSREAD.LASTERROR
  34.         exit
  35.     end
  36.  
  37.     options failat 31 
  38.  
  39.     if upper(ARGS.BBSNAME) = "ALL" then
  40.     do
  41.         GETBBSLIST stem BBSLIST 
  42.         if(rc ~= 0) then 
  43.         do
  44.             say BBSREAD.LASTERROR
  45.             exit
  46.         end
  47.  
  48.         do n=1 to BBSLIST.COUNT
  49.             call CheckBBS('"'||BBSLIST.n||'"')
  50.         end
  51.     end
  52.     else call CheckBBS('"'||ARGS.BBSNAME||'"')
  53.  
  54.     exit
  55.  
  56.  
  57. CheckBBS:
  58. parse arg nameofbbs
  59.  
  60.     say 'Checking:' strip(nameofbbs,'B','"')
  61.  
  62.     GETBBSDATA nameofbbs BBSDATA
  63.     if(rc ~= 0) then 
  64.     do
  65.         say BBSREAD.LASTERROR
  66.         exit
  67.     end
  68.  
  69.     do k=BBSDATA.FIRSTUSER to BBSDATA.LASTUSER
  70.     
  71.         READBRUSER nameofbbs k tagsstem TAGS datastem DATA
  72.     
  73.         if(rc ~= 0) then 
  74.         do
  75.             Say ' Error reading user' k ':' BBSREAD.LASTERROR
  76.  
  77.             if ARGS.DELETE ~= 0 then 
  78.             do
  79.                 say '  Marking user as deleted.'
  80.  
  81.                 WRITEBRUSER nameofbbs UPDATEUSER k DELETEUSER
  82.                 if(rc ~= 0) then 
  83.                 do
  84.                     say '  Unable to mark user as deleted:' BBSREAD.LASTERROR
  85.                 end
  86.             end
  87.         end
  88.     end
  89.  
  90.     return
  91.